package main

import "fmt"
import "strconv"

func main() {

	// strconv包中有一个函数Itoa
	var num5 int = 4567
	var str = strconv.Itoa(num5)
	fmt.Printf("str type %T str=%q\n", str, str)

	// 演示golang中string转成基本数据类型
	str = "true"
	var b bool

	// go中函数可以返回多个值，而这里有两个值，布尔值和err，所以要进行处理
	b, _ = strconv.ParseBool(str)
	fmt.Printf("b type %T b=%v\n", b, b)

	var str2 string = "1234590"
	var n1 int64
	var n2 int

	// 参数  字符串、进制、位数
	n1, _ = strconv.ParseInt(str2, 10, 64)
	fmt.Printf("n1 type %T n1=%v\n", n1, n1)
	
	// 可以直接强转
	n2 = int(n1)
	fmt.Println("n2 =", n2)

	var str3 string = "123.456"
	var f1 float64
	f1, _ = strconv.ParseFloat(str3, 64)
	fmt.Printf("f1 type is %T, f1 = %f\n", f1, f1)
}